CouchDB একটি ওপেন সোর্স NoSQL ডাটাবেস যা ডেটাবেস এবং ডকুমেন্টের নিরাপত্তা এবং অ্যাক্সেস নিয়ন্ত্রণের জন্য User Management এবং Role-based Access Control (RBAC) ব্যবস্থাপনা সমর্থন করে। এই ব্যবস্থাগুলি CouchDB এর ব্যবহারকারীদের এবং তাদের অ্যাক্সেসের জন্য শক্তিশালী নিয়ন্ত্রণ প্রদান করে।
CouchDB-তে User Management পদ্ধতি ব্যবহারকারীদের তৈরি, আপডেট, মুছে ফেলা এবং তাদের তথ্য পরিচালনা করার সুযোগ দেয়। CouchDB তে ব্যবহারকারীদের admin এবং regular users হিসেবে শ্রেণিবদ্ধ করা হয়।
CouchDB-তে ব্যবহারকারী তৈরি করার জন্য HTTP API ব্যবহার করা হয়। এই API-র মাধ্যমে নতুন ব্যবহারকারী তৈরি করা যায় এবং তাদের জন্য পাসওয়ার্ড এবং ভূমিকা (roles) নির্ধারণ করা যায়।
নতুন ব্যবহারকারী তৈরি করতে হলে _users ডাটাবেসে POST রিকুয়েস্ট পাঠানো হয়। নতুন ব্যবহারকারী তৈরি করার সময় তাদের username, password, এবং roles (যদি থাকে) প্রদান করতে হবে।
HTTP Request:
POST /_users/org.couchdb.user:username
Request Body (JSON):
{
"_id": "org.couchdb.user:john_doe",
"name": "john_doe",
"password": "securepassword",
"roles": ["admin", "editor"]
}
যদি সফল হয়, একটি JSON অবজেক্ট রিটার্ন হবে যা ব্যবহারকারী তৈরি হওয়ার প্রমাণ হবে:
{
"ok": true,
"id": "org.couchdb.user:john_doe",
"rev": "1-xxx"
}
Role-based Access Control (RBAC) একটি নিরাপত্তা কৌশল যা ব্যবহারকারীদের তাদের ভূমিকা (roles) অনুযায়ী বিভিন্ন অ্যাক্সেস প্রদান করে। CouchDB-তে, ব্যবহারকারীরা বিভিন্ন roles এর অধীনে কাজ করতে পারে, যা তাদের বিভিন্ন ডেটাবেসে এবং ডকুমেন্টে কী ধরনের অ্যাক্সেস থাকবে তা নির্ধারণ করে।
CouchDB-তে ডেটাবেস এবং ডকুমেন্টের নিরাপত্তা পরিচালনার জন্য security object ব্যবহার করা হয়। আপনি একটি ডেটাবেসের _security ডকুমেন্টে readers এবং writers ভূমিকা নির্ধারণ করতে পারেন।
HTTP Request:
GET /my_database/_security
Request Body (Security Object):
{
"admins": {
"names": ["admin_user"],
"roles": ["admin"]
},
"readers": {
"names": ["john_doe"],
"roles": ["reader"]
},
"writers": {
"names": ["john_doe"],
"roles": ["editor"]
}
}
এখানে:
{
"admins": {
"names": ["admin_user"],
"roles": ["admin"]
},
"readers": {
"names": ["john_doe"],
"roles": ["reader"]
},
"writers": {
"names": ["john_doe"],
"roles": ["editor"]
}
}
User Management এবং Role-based Access Control (RBAC) CouchDB এর নিরাপত্তা ব্যবস্থার অন্যতম গুরুত্বপূর্ণ অংশ। এটি ব্যবহারকারীদের ভূমিকা এবং অ্যাক্সেস নিয়ন্ত্রণ করতে সাহায্য করে, যা ডেটাবেসের নিরাপত্তা বজায় রাখে এবং অনুমোদিত ব্যবহারকারীদের প্রয়োজনীয় অ্যাক্সেস দেয়। CouchDB তে admins এবং regular users ভূমিকা অনুযায়ী বিভিন্ন readers, writers এবং admins নির্ধারণ করে ডেটাবেসের অ্যাক্সেস নিয়ন্ত্রণ করা হয়।
common.read_more